package carte.terrain;

import java.awt.Color;
import java.util.ArrayList;
import java.util.Random;

import controller.Evolution;

import carte.Cellule;

abstract public class Land implements Evolution{

	protected Color texture;

	protected int altitudeMin;
	protected int altitudeMax;
	
	public static Land[] lands = {Earth.build(), Sand.build(), Mountain.build(), Forest.build()};
	
	public static Random rand = new Random();
	
	public void evolve(ArrayList<Cellule> oldEnv, ArrayList<Cellule> newEnv){
		//de base elle ne fait rien mais peut être redéfinie
	}
	
	public Color getTexture(){
		return texture;
	}
	
	public static Land Earth(){
		return lands[0];
	}
	
	public static Land Sand(){
		return lands[1];
	}
	
	public static Land Mountain(){
		return lands[2];
	}
	
	public static Land Forest(){
		return lands[3];
	}
	
	//un volcan n'est pas un objet comme les autres
	public static Land Volcano(){
		return new Volcano();
	}
	
	public int getAltitudeMin() {
		return altitudeMin;
	}

	public int getAltitudeMax() {
		return altitudeMax;
	}
}
